#!/bin/bash

FTP=`which ftp`
CONFIDIR=/storage/plone-2.5.5
CONFBKPFILE=plone-prod-conf.tar.gz
BACKUPDIR=/var/backups/Plone-2.5.5
LOCALDIR=$CONFIDIR/zeocluster/server/var
REPOZO=$CONFIDIR/bin/repozo.py

REMOTEDIR=dzeta
#FTPSERVER=10.100.0.19 #Delta2
#FTPUSER=usbackup
#FTPPW=el1604x!2
FTPSERVER=10.100.0.54 # PSI
FTPUSER=usdzeta
FTPPW=el1604x!2

function tarConf() {
# Recebe como parametro o diretório onde poderá ser encontrado
# os arquivos zope.conf e zeo.conf
	find $1 -name "z*.conf" | tar cvzf $CONFBKPFILE -T -
}

function tarRepozoFiles(){
# 
#

[ ! -e $BACKUPDIR ] && mkdir -vp $BACKUPDIR

cd $BACKUPDIR

find $LOCALDIR -name \*.fs -printf '%h %f\n'| \
while read path file; 
  do 
    echo; 
    [ ! -e ${file%.fs} ] && mkdir -pv ${file%.fs}; 
    $REPOZO -B -F -z -f $path/$file -r ${file%.fs}; 
    tar cvzf ${file%.fs}.tar.gz ${file%.fs}/*.{dat,fsz}; 
    rm -vf ${file%.fs}/*.{dat,fsz}; 
  done

find $BACKUPDIR -mindepth 1 -maxdepth 1 -type d -exec rm -rv {} \;
}

function sendFTP(){
#Este é necessário 2 parametros
# 1o. diretorio local
# 2o. extensão arquivos

$FTP -in <<EOF
open $FTPSERVER
user $FTPUSER $FTPPW
bin
cd $REMOTEDIR

#arquivos .fs
lcd $1
mput *.$2

bye
EOF
}

tarConf
tarRepozoFiles
#arquivos .fs
sendFTP $LOCALDIR fs
#arquivos repozo.py
sendFTP $BACKUPDIR gz

#rm -fr $BACKUPDIR

